import requests

def get_asset_info(token, asset_symbol):
    url = f'https://alphasquared.io/wp-json/as/v1/asset-info?symbol={asset_symbol}'
    headers = {
        'Authorization': token
    }
    
    response = requests.get(url, headers=headers)
    
    if response.status_code == 200:
        return response.json()
    else:
        return {"error": response.status_code, "message": response.text}

def get_strategy_values(token, strategy_name):
    url = f'https://alphasquared.io/wp-json/as/v1/strategy-values?strategy_name={strategy_name}'
    headers = {
        'Authorization': token
    }
    
    response = requests.get(url, headers=headers)
    
    if response.status_code == 200:
        return response.json()
    else:
        return {"error": response.status_code, "message": response.text}

def get_investment_value_from_risk(strategy_values, risk_value):
    buy_strategy_value = None
    sell_strategy_value = None

    # Determine buy value
    for i in range(5, 105, 5):
        if risk_value > i - 5 and risk_value <= i and strategy_values['buy_values'].get(f'risk_{i}'):
            buy_strategy_value = strategy_values['buy_values'][f'risk_{i}']
            break

    # Determine sell value
    for i in range(100, -10, -10):
        if risk_value >= i and strategy_values['sell_values'].get(f'risk_{i}'):
            sell_strategy_value = strategy_values['sell_values'][f'risk_{i}']
            break

    # Update the action based on the strategy values
    if buy_strategy_value is not None:
        return f'Buy ${buy_strategy_value}'
    elif sell_strategy_value is not None:
        return f'Sell {sell_strategy_value}%'
    else:
        return "No action required"

def main():
    # User inputs
    asset_symbol = 'BTC'  # Set your asset symbol
    strategy_name = 'Your_Strategy_Name'  # Set your strategy name
    
    # Your API token
    token = 'Your_Token'
    
    # Fetch asset info
    asset_info = get_asset_info(token, asset_symbol)
    if 'error' in asset_info:
        print(f"Error fetching asset info: {asset_info['message']}")
        return

    # Extract live risk value
    live_risk = float(asset_info.get('current_risk', 0))
    print(f"Live risk value: {live_risk}")

    # Fetch strategy values
    strategy_values = get_strategy_values(token, strategy_name)
    if 'error' in strategy_values:
        print(f"Error fetching strategy values: {strategy_values['message']}")
        return

    # Determine action based on live risk and strategy values
    action = get_investment_value_from_risk(strategy_values, live_risk)
    print(f"Action for {asset_symbol} with strategy {strategy_name}: {action}")

if __name__ == "__main__":
    main()
